home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / pibmdos.arc / TRYMDOS.GLO < prev    next >
Encoding:
Text File  |  1986-09-27  |  3.1 KB  |  72 lines

  1. (*----------------------------------------------------------------------*)
  2. (*                   Global 8088/8086/8028x register definitions        *)
  3. (*----------------------------------------------------------------------*)
  4.  
  5. CONST
  6.                    (* 8086/8088 hardware flags *)
  7.  
  8.    Carry_Flag     = 1;
  9.    Parity_Flag    = 4;
  10.    Aux_Carry_Flag = 16;
  11.    Zero_Flag      = 64;
  12.    Sign_Flag      = 128;
  13.  
  14. TYPE
  15.  
  16.    RegPack  = RECORD       (* 8086/8088 registers                      *)
  17.                  CASE INTEGER OF
  18.                     1: ( Ax, Bx, Cx, Dx, Bp, Si, Di, Ds, Es, Flags : INTEGER );
  19.                     2: ( Al, Ah, Bl, Bh, Cl, Ch, Dl, Dh            : BYTE    );
  20.               END;
  21.  
  22. TYPE
  23.    AnyStr   = STRING[255];
  24.  
  25. (*----------------------------------------------------------------------*)
  26. (*          Definitions for screen memory reading/writing               *)
  27. (*----------------------------------------------------------------------*)
  28.  
  29. CONST
  30.    Color_Screen_Address   = $B800    (* Address of color screen          *);
  31.    Mono_Screen_Address    = $B000    (* Address of mono screen           *);
  32.    Screen_Length          = 4000     (* 80 x 25 x 2 = screen area length *);
  33.    Graphics_Screen_Length = 16000    (* Length of graphics screen area   *);
  34.    Max_Saved_Screen       = 6        (* Maximum no. of saved screens     *);
  35.    MedRes_GraphMode       = 4        (* Medium resolution graphics       *);
  36.    HiRes_GraphMode        = 6        (* High resolution graphics mode    *);
  37.    Mono_TextMode          = 7        (* Monochrome adapter text mode     *);
  38.    CRT_Index              = $03D4    (* CRT index register               *);
  39.    CRT_Data               = $03D5    (* CRT data register                *);
  40.    CRT_Mode               = $03D8    (* CRT mode register                *);
  41.    CRT_Color_Select       = $03D9    (* CRT color select register        *);
  42.    CRT_Status             = $03DA    (* CRT status port                  *);
  43.    CRT_Mode_Byte          = $0465    (* CRT mode byte                    *);
  44.  
  45. TYPE
  46.                                      (* A screen image            *)
  47.  
  48.    Screen_Type       = ARRAY[ 1 .. Graphics_Screen_Length ] OF BYTE;
  49.    Screen_Ptr        = ^Screen_Type;
  50.  
  51. VAR
  52.    Write_Screen_Memory : BOOLEAN     (* TRUE to allow direct screen writes *);
  53.    Wait_For_Retrace    : BOOLEAN     (* TRUE to wait for retrace signals   *);
  54.  
  55. (*----------------------------------------------------------------------*)
  56. (*                       Multitasker definitions                        *)
  57. (*----------------------------------------------------------------------*)
  58.  
  59. TYPE
  60.    MultiTaskerType     = ( MultiTasker_None, DoubleDos, DesqView, TopView,
  61.                            MSWindows, APXCore, EZDosIt, Concurrent_DOS,
  62.                            TaskView, MultiLink, Other );
  63.  
  64. VAR
  65.    TimeSharingActive   : BOOLEAN   (* TRUE if multitasker active        *);
  66.  
  67.                                    (* Which multitasker active          *)
  68.    MultiTasker         : MultiTaskerType;
  69.  
  70.    Virtual_Screen      : Screen_Ptr (* Alternate display buffer address *);
  71.  
  72.